package com.ruoyi.hospital.mapper;

import java.util.List;

import com.ruoyi.hospital.domain.InspectionRecord;
import com.ruoyi.system.domain.vo.InspectionRecordVO;
import org.apache.ibatis.annotations.Param;

/**
 * 检查记录Mapper接口
 *
 * @author qichi
 * @date 2023-07-05
 */
public interface InspectionRecordMapper {
    /**
     * 查询检查记录
     *
     * @param id 检查记录主键
     * @return 检查记录
     */
    public InspectionRecord selectInspectionRecordById(Long id);

    /**
     * 查询检查记录
     *
     * @param list 检查记录主键
     * @return 检查记录
     */
    List<InspectionRecord> selectInspectionRecordByIds(List<Long> list);

    /**
     * 查询检查记录列表
     *
     * @param inspectionRecord 检查记录
     * @return 检查记录集合
     */
    public List<InspectionRecord> selectInspectionRecordList(InspectionRecord inspectionRecord);

    /**
     * 查询检查记录列表
     *
     * @param list 就诊记录id
     * @return 检查记录集合
     */
    List<InspectionRecordVO> selectInspectionRecordListByConsultationIds(List<Long> list);

    /**
     * 新增检查记录
     *
     * @param inspectionRecord 检查记录
     * @return 结果
     */
    public int insertInspectionRecord(InspectionRecord inspectionRecord);

    int insertBatch(List<InspectionRecord> list);

    int updateBatchStatus(@Param("list") List<Long> list,@Param("inspectionStatus")int inspectionStatus, @Param("updateBy") String updateBy);

    /**
     * 修改检查记录
     *
     * @param inspectionRecord 检查记录
     * @return 结果
     */
    public int updateInspectionRecord(InspectionRecord inspectionRecord);

    /**
     * 删除检查记录
     *
     * @param id 检查记录主键
     * @return 结果
     */
    public int deleteInspectionRecordById(Long id);

    /**
     * 删除检查记录
     *
     * @param list 检查记录主键
     * @return 结果
     */
    int deleteInspectionRecordByNotInId(@Param("consultationId") Long consultationId, @Param("list") List<Long> list);

    /**
     * 批量删除检查记录
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteInspectionRecordByIds(Long[] ids);
}
